package com.fzkj.shejimoshi.strategy1.factory;

import com.fzkj.shejimoshi.strategy1.AbstractHandler;

import java.util.HashMap;
import java.util.Map;

/**
 * @DESCRIPTION: TODO 工厂设计模式，用于存放各种策略
 * @AUTHOR: AnotherOne
 * @DATE: 2021/7/17 22:05
 */
public class Factory {
    /** 存放各种策略的map */
    private static Map<String, AbstractHandler> map = new HashMap<>();

    /** 用于通过名称获取策略 */
    public static AbstractHandler getInvokeStategy(String name){
        return map.get(name);
    }

    /** 添加策略到map中 */
    public static void register(String name, AbstractHandler handler){
        if (null == name || "".equals(name) || null == handler){
            return;
        }
        map.put(name, handler);
    }

}
